1. Field of the Invention
The present invention relates to portable wireless communication devices. More specifically, the present invention relates a wireless communication device that can deterministically control which user interface of the resident applications controls the display of the device.
2. Description of the Related Art
In modern wireless communication networks, many of the wireless communication devices have resident computer platforms with operating systems and software applications that can be run, either individually or in parallel, on the computer platform. The software applications can vie for control of the resident user interface for the wireless communication device, which often is displayed on a resident display of the wireless communication device, and several problems can result from the collision of executing applications trying to seize control of the user interface.
For example, in an operating system with a notification mechanism to send events to other resident applications, the operating system will typically use notifications to broadcast events to multiple software applications, such as the receipt of incoming communications, the execution of various applications, and the status of resident hardware components. The resident software applications can register for notifications using a common operating system application-programming interface (“API”). Also, a resident software application can implement a “notify” class and send notifications to other software applications as intended. Once an application receives an event, the resident software application is typically free to act and come to the foreground on the API.
One problem occurs if there are multiple applications that can handle a specific event and they all want to come to the foreground of the UI. This can cause thrashing and undesirable user behavior where each application tries to come to the foreground, and thus, the operating system will not let any one application stay on top in the UI. One prior art solution to this problem has been simply to allow foreground thrashing, as a consequence of the broadcast event model. However, simply letting the UI thrash is undesirable as the applications do have any specified order in which they seize and display upon the UI, and high-priority applications are left to contend with low-priority applications for control.
It would therefore be advantageous to provide a system and method for a wireless communication device to control which of a plurality of resident applications will have control of the UI if multiple applications are simultaneously invoked and compete for control of the UI. Such system and method should be able to prioritize which application will have the UI, without utilizing significant device resources in determining the control. It is thus to such a system and method of a wireless communication device determining resident application control of the UI that the present invention is primarily directed.